1. Field of the Invention
The present invention generally relates to a method and system of automatically extracting facial features.
2. Description of the Prior Art
Facial feature extraction plays an important role in many applications, such as very low bit-rate video coding and human face recognition. In the application of the very low bit-rate video coding, the variation of the facial features, so called the local motion, usually carries much more information than other parts of the target image. Therefore, the facial features should be extracted from the target image and processed by special coding schemes. Especially, in the application of the human face recognition, the facial features are extracted as the major analytical objects in analyzing a human face image.
It is still a complex issue to automatically extract the facial features, although it might be easy for people to directly perceive a human face image and pick up the facial features from it. In order to reduce the complexity of facial feature extraction, the input image is restricted to a typical head-and-shoulder image with plain background. In general, the standard facial feature extraction process can be divided into two stages, including a face region estimation stage and a feature point extraction stage.
The face region estimation stage is used to extract a face region from the input image. In a head-and-shoulder image, for example, the face region is located roughly in the center of the image. In addition, the face region usually exhibits higher contrast than its surrounding neighborhoods do. Therefore, the face region can be extracted by using region segmentation or edge detection techniques.
In the feature point extraction stage, the desired facial features, such as eyes, noises and mouth, will be extracted from the face region found in the above stage by template matching. One or several feature templates can be previously defined based on the characteristics of human facial features. Using these feature templates, all candidate points within the face region are evaluated based on a predefined cost function. Those points that have best matching values are regarded as the desired feature points. Although there are many proposed facial feature extraction algorithms nowadays, they still suffer a drawback of computational complexity. The computational cost of the facial feature extraction is dominated by the following three factors, including (1) the estimation of the face region; (2) the complexity of evaluation of the cost function; and (3) the searching for the feature points.
As described above, the estimation of the face region is usually achieved by the region segmentation method or the edge detection method. Although these conventional methods can successfully ferret out the face region, their computational cost is quite high. This is the first drawback of the conventional facial feature extraction methods.
Another critical issue is the design of the feature templates. Since these feature templates are employed to calculate a matching value for each possible feature point within the face region, the complexity of the feature templates dominates the computational cost of the overall feature extraction algorithm. In addition, complex feature templates are not robust when some sub-regions of the face exhibit low contrast. This is the second drawback of the conventional facial feature extraction methods.
In the existing methods, the cost functions are usually applied to all the pixels within the face region to find the best ones. Such methods can properly work in the image with few pixels, but inappropriately in the image with a large number of pixels. This is the third drawback of the conventional facial feature extraction methods.
Therefore, an object of the present invention is to provide an automatic facial feature extraction method and system for solving various drawbacks in the conventional techniques.
The present invention achieves the above-indicated objects by providing an automatic facial feature extraction system for analyzing a face image. The system comprises a pre-processing unit for generating a face region according to the face image, a front-end feature extraction unit for dividing the face region into a plurality of primary sub-regions pertaining to primary facial features and extracting primary facial feature data from the face image by searching feature points in image portions of the face image corresponding to the primary sub-regions, and a back-end feature extraction unit for determining a plurality of secondary sub-regions pertaining to secondary facial features according to the position information of the primary facial feature data and extracting secondary facial feature data from the face image by searching feature points in the secondary sub-regions.
In this system, the primary facial features can include the eyes and the mouth and the secondary facial features can include the eyebrows and the nose.
In addition, the pre-processing unit generates the face region by a second-chance region growing method.
In addition, the front-end feature extraction unit comprises a partitioning unit for partitioning the face image into a right-eye image portion, a left-eye image portion and a mouth image portion according to the face region generated by the pre-processing unit; a first extractor, coupled to the partitioning unit, for determining a first estimated area pertaining to the left eye of the primary facial features by a feature-point-searching rule; a second extractor, coupled to the partitioning unit, for determining a second estimated area pertaining to the right eye of the primary facial features by the feature-point-searching rule; a third extractor, coupled to the partitioning unit, for determining a third estimated area pertaining to the mouth of the primary facial features by the feature-point-searching rule; and a post-processing unit, coupled to the first extractor, the second extractor and the third extractor, for generating the primary facial feature data pertaining to the eyes and the mouth by modifying the first estimated area, the second estimated area and the third estimated area.
In addition, the back-end feature extraction unit can comprise a partitioning unit for partitioning the face image into two eyebrow image portions and a nose image portion according to the position information of the primary facial feature data generated by the front-end feature extraction unit; an extractor, coupled to the partitioning unit, for determining three estimated area pertaining to the secondary facial features by a feature-point-searching rule; a post-processing unit, coupled to the extractor, for generating the secondary facial feature data pertaining to the nose and the eyebrows by modifying the three estimated areas.
In addition, the feature-point-searching rule can be performed by regarding a point with a largest matching value that is calculated by using a feature template as the feature point, or by using a genetic algorithm.
The present invention also provides a method for automatically extracting facial features from a face image, comprising the steps of: determining a face region according to the face image; partitioning a plurality of primary sub-regions pertaining to the primary facial features from the face region; extracting primary facial feature data from the face image by searching feature points in image portions of the face image corresponding to the primary sub-regions; determining a plurality of secondary sub-regions pertaining to secondary facial features according to the position information of the primary facial feature data; and extracting secondary facial feature data from the face image by searching feature points in the secondary sub-regions.